
	
********************************************************************************
* Table 4: The FOMC Decline and the Fed's Monetary Policy Actions
********************************************************************************	
	
use "../data/final_data_fed_secular_decline.dta", clear
	
keep if date >= mdy(6,1,1989)
drop if date >= mdy(7,1,2021)

*ZLB period
generate zlb = 1 if date > mdy(12,16,2008) & date < mdy(12,16,2015)
replace zlb = 1 if date >= mdy(3,15,2020)
replace zlb = 0 if missing(zlb)

*Interact the negative Kuttner shock with past equity return
local x "spx_logret1m"
replace `x' = `x'[_n-1] if missing(`x')
generate L2_`x' = `x'[_n-2]
generate neg_kuttner_negeq = neg_kuttner * (L2_spx_logret1m < 0)
	
*Compute FOMC window drift for each meeting
replace sveny10_chg = 0 if missing(sveny10_chg)
replace sveny10_chg = sveny10_chg * 100 
	//Convert to basis points
	generate FOMC_sveny10_chg  = sveny10_chg[_n-1] + sveny10_chg + sveny10_chg[_n+1] if fomc_meet==1 
	
*Unit of observation: FOMC meeting
keep if fomc_meet == 1
	
*Label the x-variables 
label var ffr_chg 			"Meeting with target change"
label var neg_kuttner		"Meeting with negative MP surprise (Kuttner)"
label var neg_kuttner_negeq "Meeting with neg. MP surprise x neg. 1m S\&P500 return"

*Regression
eststo clear
eststo: regress FOMC_sveny10_chg if zlb == 0, vce(hc3)
estadd local sample "No ZLB"
eststo: regress FOMC_sveny10_chg ffr_chg if zlb == 0, vce(hc3)
estadd local sample "No ZLB"
eststo: regress FOMC_sveny10_chg, vce(hc3)
estadd local sample "All"
eststo: regress FOMC_sveny10_chg neg_kuttner, vce(hc3)
estadd local sample "All"
eststo: regress FOMC_sveny10_chg neg_kuttner neg_kuttner_negeq, vce(hc3)
estadd local sample "All"

esttab, r2 starlevels(* 0.10 ** 0.05 *** 0.01) b(%8.2f) se sfmt(%8.2f %9.0fc)

esttab using "../tables/table4.tex", replace label nonotes se ///
 mgroup("10y yield change in 3-day FOMC window", pattern(1 0 0 0 0) prefix(\multicolumn{@span}{c}{) suffix(}) span erepeat(\cmidrule(lr){@span})) ///
 nomtitles ///
 noobs scalars("r2 \$R^2\$" "N N" "sample Sample period") msign($-$) ///
 starlevels(* 0.10 ** 0.05 *** 0.01) ///
 b(%8.2f) sfmt(%8.3f %9.0fc) ///
 substitute(\hline \toprule) ///
 varwidth(40) ///
 order(_cons)

	
	
	